#include "TADNombre.h"
#include <stdio.h>
#include <string.h>

Nombre PedirNombre(){
	Nombre N;
	printf("\nIntroduzca el nombre : ");
	flushall();
	scanf("%[^\n]",N.NomPr);
	printf("Introduzca el primer apellido : ");
	flushall();
	scanf("%[^\n]",N.PriApe);
	printf("Introduzca el segundo apellido : ");
	flushall();
	scanf("%[^\n]",N.SegApe);
	return(N);
}
Nombre GenerarNombre( char *N, char *Ap1, char *Ap2){
		Nombre N1;
		strcpy(N1.NomPr,N);
		strcpy(N1.PriApe,Ap1);
		strcpy(N1.SegApe,Ap2);
		return(N1);
}

Nombre GenerarNomFic(){
	Nombre N;
	strcpy(N.NomPr, "NOMBRE_NULL");
	strcpy(N.PriApe, "PRIAPE_NULL");
	strcpy(N.SegApe,"SEGAPE_NULL");
	return(N);
}
void ModificarApe (Nombre *N, char Dato[],int NApe){
	if (NApe==1){
		strcpy(N->PriApe,Dato);
	}
	else
	{
		strcpy(N->SegApe,Dato);	
	}
}

int ComparaNombres (Nombre N1, Nombre N2){
	int Res1,Res2,Res3,Res;

	Res1=strcmp(strupr(N1.PriApe),strupr(N2.PriApe));
	Res2=strcmp(strupr(N1.SegApe),strupr(N2.SegApe));
	Res3=strcmp(strupr(N1.NomPr),strupr(N2.NomPr));
	if (Res1==0) {
		if  (Res2==0){
			if (Res3==0) Res=0;
			else 	if (Res3<0) Res=1;
				else Res=2;
		}
		else 	if(Res2<0) Res=1;
			else Res=2;
	}
	else 
		if (Res1<0)
			Res=1;
		else Res=2; 
	return(Res);
}

void VisualizaNombre(Nombre N){
 	printf("\nNombre:\t\t\t\t%s.",N.NomPr);
 	printf("\nPrimer Apellido:\t\t%s.",N.PriApe);
 	printf("\nSegundo Apellido:\t\t%s.",N.SegApe);
}

void CopiarNombre(Nombre NOri, Nombre *NCopia){
	strcpy(NCopia->NomPr, NOri.NomPr);
	strcpy(NCopia->PriApe, NOri.PriApe);
	strcpy(NCopia->SegApe, NOri.SegApe);
}